A Sound and Complete Program Logic for Eiffel
نویسندگان
چکیده
Object-oriented languages provide advantages such as reuse and modularity, but they also raise new challenges for program verification. Program logics have been developed for languages such as C# and Java. However, these logics do not cover the specifics of the Eiffel language. This paper presents a program logic for Eiffel that handles exceptions, once routines, and multiple inheritance. The logic is proven sound and complete w.r.t. an operational semantics. Lessons on language design learned from the experience are discussed.
منابع مشابه
Soundness and Completeness of a Program Logic for Eiffel
Object-oriented languages provide advantages such as reuse and modularity, but they also raise new challenges for program verification. Program logics have been developed for languages such as C# and Java. However, these logics do not cover the specifics of the Eiffel language. This paper presents a program logic for Eiffel that handles exceptions, once routines, and multiple inheritance. The l...
متن کاملSound and Complete Inference Rules for SE-Consequence
The notion of strong equivalence on logic programs with answer set semantics gives rise to a consequence relation on logic program rules, called SE-consequence. We present a sound and complete set of inference rules for SE-consequence on disjunctive logic programs.
متن کاملOn the Verification of SCOOP Programs
In this paper we focus on the development of a toolbox for the verification of programs in the context of SCOOP – an elegant concurrency model, recently formalized based on Rewriting Logic (RL) and Maude. SCOOP is implemented in Eiffel and its applicability is demonstrated also from a practical perspective, in the area of robotics programming. Our contribution consists in devising and integrati...
متن کاملPrinciples of language design and evolution
Heeded or not, Tony Hoare’s Hints on Programming Language Design [1] remains, more than 25 years after publication, the principal source of wisdom on how to produce sound programming languages. I will try to expand on Hoare’s principles by presenting some of what my own experience has taught me, through my work not only on Eiffel but also on numerous “little languages” as well formal specificat...
متن کاملA Sound and Complete Hoare Logic for Dynamically-Typed, Object-Oriented Programs - Extended Version -
A simple dynamically-typed, (purely) object-oriented language is defined. A structural operational semantics as well as a Hoarestyle program logic for reasoning about programs in the language in multiple notions of correctness are given. The Hoare logic is proved to be both sound and (relative) complete and is – to the best of our knowledge – the first such logic presented for a dynamically-typ...
متن کامل